// 文件路径: dbms/execution/udf/Udf.java
package com.dbms.execution.udf;

/**
 * 用户自定义函数 (User-Defined Function, UDF) 的通用接口。
 * 所有希望在 DBMS 中注册和执行的自定义函数都必须实现这个接口。
 * @FunctionalInterface 注解表明这是一个函数式接口，即它只包含一个抽象方法。
 * 这使得可以使用 Lambda 表达式来简洁地创建 UDF 实例。
 */
@FunctionalInterface
public interface Udf {

    /**
     * 执行函数的核心逻辑。
     * @param args SQL 语句中传递给函数的参数列表。这是一个可变长度的参数数组，允许函数接受任意数量的参数。
     * @return 函数的计算结果，其类型为 Object。
     * @throws Exception 如果函数在执行过程中发生任何错误（例如，参数类型不匹配、参数数量错误等），都应抛出异常。
     */
    Object execute(Object... args) throws Exception;
}